home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-12-26 | 62.6 KB | 1,808 lines |
- /* C-Net Hacker v4.5 Beta
-
- Original programming/concept by : Patrick Baker
- Modifications for v4.0 by : Bob Maple
- Modifications for v4.5 by : Joseph Barrero
-
- This P-File is authorized to be run on legal, LEGITIMATE C-Net AMIGA
- systems ONLY. It is not authorized to be run on Silicon Valley BBS
- of Colorado. You may modify this however you like for your own use,
- but it can only be re-distributed in it's original form.
-
- Found a bug? Leave EMail to 'Diamond Back' on Future World, or call
- THE FLIPSIDE (305)596-6711.
-
- */
- JH_BBSName = 11
- JH_Sysop = 12
- DT_NAME = 100
- DT_PASSWORD = 101
- DT_LOCATION = 102
- DT_PHONENUMBER = 103
- DT_SLOTNUMBER = 104
- DT_SECSTATUS = 105
- DT_MESSAGESPOSTED= 109
- DT_UPLOADS = 110
- DT_DOWNLOADS = 111
- DT_TIMESCALLED = 112
- DT_TIMELASTON = 113
- DT_TIMEUSED = 114
- DT_TIMELIMIT = 115
- DT_TIMETOTAL = 116
- DT_BYTESUPLOAD = 117
- DT_BYTEDOWNLOAD = 118
- DT_DAILYBYTELIMIT= 119
- DT_DAILYBYTEDLD = 120
- DT_EXPERT = 121
- DT_LINELENGTH = 122
- ACTIVE_NODES = 123
- DT_DUMP = 124
- BB_CONFNAME = 126
- BB_CONFLOCAL = 127
- BB_LOCAL = 128
- BB_STATUS = 129
- BB_COMMAND = 130
- BB_MAINLINE = 131
- sendstring=sendmessage;sendfile=showfile;tr=transmit;pm=prompt;ss=sendstring;gu=getuser
- parse arg node
- options results
- nodeid = "AERexxControl"node
- msg=sendmessage
- tr=transmit;hk=getchar;pm=prompt;sendstring=sendmessage;ss=sendstring;gu=getuser
- sendstring=sendmessage;sendfile=showfile;
- address value nodeid
- options results;signal on syntax;signal on error;signal on ioerr;signal on halt
-
-
- save = 'DOORS:Hacker/' /* Main path for all Hacker files */
- play = save'Players/' /* Where user files are stored */
- misc = save'Misc/' /* BBS intro files, menus, etc.. */
- mess = save'MESSAGES/' /* Inter-User Email */
- phones = save'PHONEs/' /* Where BBS numers are kept */
- bnk = save'BANK/' /* People's banking accounts */
- minbyte= 150000 /* Minimum amount of memory that needs to be free */
- /* at all times during the game */
- BEGIN:
- if storage() < minbyte then do;transmit '\n1\caNot enough memory to run the game safely!'
- transmit '\cbEither contact your sysop or if this is a multiline BBS, wait for another'
- transmit 'user to finish playing a game (if applicable) and try again.\n1';SHUTDOWN;exit;end
-
- call open set, (misc'rxx.setup'), 'R';boom=0;do until boom=1;junk=readln(set)
- interpret junk;end;call close set
-
- LOGIN:
-
- if ~exists(play''name) then do
- Transmit '\f1\c3\n1Welcome \cb'NAME'\c1.. \c3You must be a new Hacker\c1.'
- transmit '\n1\c3 Enter an alias to use in the game\c1:'
- SENDMESSAGE '-> \C7';prompt;ALIAS = UPPER(result)
- if ALIAS = '' | alias = '###PANIC' then call quickexit
-
- if exists(play'TOTAL') then do;call open file, (play'TOTAL'), 'R';TOTALUSERS = readln(file);call close file;end
- if ~exists(play'TOTAL') then do;call open file, (play'TOTAL'), 'W';call writeln file, 0;call close file;end
-
- if exists(play'ALIASES') then do;call open file, (play'TOTAL'), 'R'
- totalusers = readln(file);call close file;call open file, (play'ALIASES'), 'R'
- do i = 1 to TOTALUSERS;tempa = readln(file);j = readln(file)
- if upper(tempa) = alias then do;Transmit '\n1\c5That alias already exists, pick another\c1.'
- call LOGIN;end;end;call close file;end
-
- transmit '\n1\c2Setting up an account\c1...'
-
- call open file, (play'TOTAL'), 'W';TOTALUSERS = TOTALUSERS + 1;call writeln file, TOTALUSERS;call close file
- call open file, (mess''name), 'W';call writeln file, '0';call close file
- call open file, (play''NAME), 'W';call savestats;call close file
-
- if ~exists(play'ALIASES') then do;call open file, (play'ALIASES'), 'W'
- call writeln file, ALIAS;call writeln file, NAME;call close file;end
- else do;call open file, (play'ALIASES'), 'A';call writeln file, ALIAS
- call writeln file, NAME;call close file;end
-
- if exists(play'REALNAMES') then do;call open file, (play'REALNAMES'), 'A'
- call writeln file, NAME;call close file;end
-
- if ~exists(play'REALNAMES') then do;call open file, (play'REALNAMES'), 'W'
- call writeln file, NAME;call close file;end
-
- sendstring '\n1\c3Do you wish to read the instructions of the game\c1? (\c7Y\c1/n) : \cf'
- getchar;ans=result;if ans~='N' then sendfile misc'sys.docs';else transmit 'No.\n2'
-
- END
-
- if exists(misc'winners') then do;sendfile misc''winners;msg RETURN;pm;transmit cls;end
- call open file, (play'TOTAL'), 'R';TOTALUSERS = readln(file);call close file
- call open file, (play''NAME), 'R';call readstats;call close file
- bg = 0
- call getdate
- call checklplay
- if access=23 then call goon
- if totalplays < 1 then call goon
- GOON:
- if ~exists(mess''name) then do;call open gag, (mess''name), 'W'
- call writeln gag, '0';call close gag;end
- transmit '\cbWelcome back\c1, \c3'name'\c1.\n2\c7Checking for inter-hacker messages\c1..'
- call open file, (MESS''NAME), 'R';messtotal = readln(file)
- if messtotal=0 then do;call close file;call gooon;end
- if messtotal > 0 then do
- Transmit '\n1\c3You have \c7'messtotal'\c3 messages\c1.';sendmessage '\n1'RETURN;prompt
- do u = 1 to MESSTOTAL;from=readln(file)
- Transmit '\f1\caTransmission #\c2'u'\c9, \caFrom \c2'from'\c9:'
- do i = 1 to 3;line.i=readln(file);end
- Transmit '\n1\cb'line.1'\n1'line.2'\n1'line.3;sendmessage'\n1'RETURN;prompt;end
- Transmit '\^1\caEnd of Messages\c1... ';call close file;end
- call open file, (MESS''NAME), 'W';call writeln file, '0';call close file
-
- GOOON:
- call CONVERSION
-
- if money = 0 & savings < 100 then do
- loan = random(1,250,time('s'))
- Transmit '\n1\c2You are broke 'alias'! \c3The HAA gives you a loan of \c7$\cf'loan'\c1.'
- money = money + loan;bankmoney = bankmoney - loan
- sendmessage'\n1'RETURN;prompt
- end
- LOTTO:
- if money < 2 then do;transmit '\n1\caYou have no money to play the lotto\c1.\n1\w1';call main;end
- Transmit '\f1\n1\c4Hacker-Lotto\c1:\n2\c3The hacker lottery costs \c1$\c72.00 \c3per ticket\c1.'
- Transmit '\c3You currently have \c1$\c7'money'.00\c3 in your pocket\c1.'
- sendstring '\n1\cbDo you wish to play\c1? (y/\c7N\c1) \c3';getchar;tempmon=0
- ans = upper(result);if ans = '#' then SHUTDOWN;exit
- if ans ~= 'Y' then do;transmit 'No';call checkwardial;call MAIN;end;tix=money/2
- if money > 198 then tix=99;if length(tix)=4 then tix=left(tix,2)
- if length(tix)=3 then tix=left(tix,1)
- sendmessage'Yes\n2\c3How many tickets \c1(\c7Maximum of 'tix'\c1)? \c7';prompt
- numtickets = upper(result)
- if numtickets <= 99 then do
- if numtickets*2 > money then do
- Transmit 'You do not have enough money!\n1'
- msg RETURN;pm
- call MAIN
- end
- transmit '\n1'
- money = money - numtickets*2
- bankmoney = bankmoney + numtickets*2
- do i = 1 to numtickets
- ranwin = random(1,4,time('s'))
- if ranwin = 1 then do
- moneywon = random(1,100,time('s'))
- Transmit '\^1\c9Ticket \c1#'left(i,2)' \cdWinner of \c9$\cf'moneywon'\c1!\n1'
- money = money + moneywon;tempmon=tempmon+moneywon
- bankmoney = bankmoney - moneywon
- end
- if ranwin = 2 | ranwin = 3 | ranwin = 4 then do
- Transmit '\^1\c1#'left(i,2)' \c2Loser\c1!'
- end
- end
- end
-
- transmit '\n1\c3You spent \c1$\c7'numtickets*2'.00 \c3on lottery tickets, and won a total of \c1$\c7'tempmon'.00\c1.'
- temp=tempmon-(numtickets*2);transmit '\c3You made a "profit" of \c1$\c7'temp'.00\c1.\n1'
- msg return;pm
- call checkwardial
- call MAIN
-
-
- MAIN:
- if mk = '' then mk = 0;if mkused = '' then mkused = 0
- call nc;call conversion
- call open file, (play''NAME), 'W';call savestats;call close file
- call open file, (play''NAME), 'R';call readstats;call close file
-
- sendmessage '\n1\c9\cbSYS\c1:\c3'MAXTURNS-MAINCOUNTER'\c9> \cf';prompt
- ANS=upper(result);call NC
-
- if ANS = 'LAST' then call LASTFIGHTS
-
-
- if ANS = 'BANK' then call bank
- if left(ANS,3) = 'HAC' then do;call turns;call HACKOTHER;call main;end
- if ANS = 'SPY' then do;call turns;call SPY;end
- if ANS = 'ENDCLI' then call BEXIT
- if ANS = 'Q' | ans = 'QUIT' then call BEXIT
- if ANS = 'DIR' | ANS = '?' then do; sendfile misc'sys.maindir';transmit '\c310 files - 1 directory - 173 blocks - 88342 bytes - 'megs'MB Free';call main;end
- if ans = 'HAA' then do
- Transmit '\f1\c3Connecting to the Hackers Association of America\c1\s5....\s0\n2'
- call turns;call HAA
- end
-
- if ANS = 'SCAN' then do;call turns;call scan;call main;end
- if (Access = 23) & (ANS = 'CHECK') then do;wd=1;call checkwardial;call main;end
- if ANS = 'CD DIAL' | ans = 'DIAL' then call DIAL
- if ANS = 'USER' then do;call USERLIST;call MAIN;end
- if ANS = 'TRANS' then do;call SENDMESS;call MAIN;end
- if ANS = 'STATS' then do;call YOURSTATS;call MAIN;end
- Transmit '\n1\c3Unknown command \cb'ans'\c1.';call MAIN
-
- LASTFIGHTS:
- if ~exists(play'LAST10') then do
- Transmit '\f1\c3No fights yet\c1.. \c3Try fighting another user\c1.\n1'
- msg RETURN;pm;call MAIN
- end
- Transmit '\f1\cd Last 10 User vs. User fight results\c1:\c3\n1';sendfile play'last10'
- sendmessage '\n1'RETURN;prompt;call MAIN
-
- HACKOTHER:
- Transmit '\f1\caAttack another user\c9:\n1'
- if megs=0 then do;transmit '\n1\cbYour hard drive is totaled! \c3Fix it first\c1.';sendmessage '\n1'return;prompt
- call main;end
- txt='\c3Hack';call listusers;if toget='###' then call main
- call open file, (play''toget),'R'
- call readostats;call close file;oname=toget
-
- if OMEGS = 0 then do
- Transmit '\c5He is already trashed\c1, \c5try hacking some boards\c1!\n1'
- msg RETURN;pm;call MAIN
- end
-
- CALL OCONVERSION2
-
- otnm = left(otnm,20)
- ODRIVENAME = left(ODRIVENAME,20)
- Stnm = left(tnm,20)
- SDRIVENAME = left(DRIVENAME,20)
-
- if olfght = ALIAS then do
- sendfile misc'sys.hacklaw'
- sendmessage '\n1'RETURN;prompt;call MAIN
- end
-
- Transmit '\f1\c3'Oalias', 'OMegs' Megs'
- Transmit '\cbHardware: \c7'ODRIVENAME' \cbSoftware: \c7'otnm
- Transmit '\n1 \c9--\cbVS\c9--\n1'
- Transmit '\c3'alias', 'megs' Megs'
- Transmit '\c3Hardware:\c7 'SDRIVENAME' \c3Software:\c7 'Stnm
-
- sendstring '\n1\c2Are you sure you want to fight\c1? (y/\c7N\c1) \c7'
- getchar;ANS = result;if ans='#' then call quickexit
- call NC;if ans ~= 'Y' then call MAIN
- Transmit 'Yes\f1';oldmegs = megs;othermegs = omegs
- call HACKHIM
-
-
- HACKHIM:
- YOURTEMPMEGS = MEGS
- Transmit '\f1\n1\c5'OALIAS'\c1: \c7'OMEGS' Megs \c5You\c1: \c7'MEGS' Megs\n1'
- Transmit '\c2No viruses allowed here\c1! \c3This is a fight of power\c1!'
- Transmit '\n1\c1[\c31\c1] \c7Fight \c1[\c32\c1] \c7Run\n1'
- sendmessage'\c1[\c31,2\c1] \c7';prompt
- ANS = upper(result);call NC
- if ans = '' | ans='Q' then call HACKHIM
- if ANS = '2' then do
- ranhit = random(1,10,time('s'))
- if ranhit < odrtyp then do
- Transmit '\n1\c2&^!@*&%$#*^%(*^%!(*@^%$#*&%$&(^%!@)*#%(&^%$!(@^#%'
- Transmit '\n1\c3Wow! \cbWhat a blow!'
- dam = random(1,omegs,time('s'));if dam > megs then dam = megs;megs = megs - dam
- if megs < 0 then Transmit '\n1\c2You''re WASTED!'
- Transmit '\n1\c3'dam' Megs were trashed on your drive\c1!'
- OMONEY = OMONEY + MONEY%2;if MONEY > 1 then MONEY = MONEY%2
- If megs <= 0 then do
-
- txt = '\cb'ALIAS'\c3 fought\cb 'OALIAS'\c3 on 'DATE' and \caLOST!'
- call toptensave
-
- oxper = oxper + YOURTEMPMEGS*100
- if ttyp > ottyp then do
- ottyp = ttyp
- if ttyp > 1 then ttyp = ttyp - 1
- if ttyp < 1 then ttyp = 1
- end
- if drty > odrtyp then do
- odrtyp = drty
- if drty > 1 then drty = drty - 1
- if drty < 1 then drty = 1
- end
- if SCA > 1 then do
- OSCA = OSCA + SCA;SCA = SCA%2
- end
- if TROJ > 1 then do
- OTROJ = OTROJ + TROJ;TROJ = TROJ %2
- end
- if BW > 1 then do
- OBW = OBW + BW;BW = BW %2
- end
- end
-
- TOTALLOSS = TOTALLOSS + 1
- otwin = otwin + 1;olfght = ALIAS
- otmcr = otmcr+DAM;call WRITEHIM;call CONVERSION
- end
- TOTALLOSS = TOTALLOSS + 1
- otwin = otwin + 1
- if money > 1 then do
- moneylost = random(1,100,time('s'))
- if moneylost > money then moneylost = money
- money = money - moneylost+10
- OMONEY = OMONEY + MONEYLOST
- Transmit 'You just lost $'moneylost+10'!'
- call WRITEHIM;Transmit ''
- end
- call MAIN
- END
-
- if ANS = '1' then do
- TOHIT = random(1,10,time('s'))
- if TOHIT < ttyp+1 then do
- ydam = random(1,megs,time('s'));if ydam > OMEGS then ydam = OMEGS
- OMEGS = OMEGS - YDAM
- Transmit '\n1\c3You plaster \c2'YDAM' megs \c3 on his drive!'
- if OMEGS <= 0 then do
-
- txt = '\cb'ALIAS'\c3 fought\cb 'OALIAS'\c3 on 'DATE' and \cdWON!'
- call toptensave
-
- Transmit '\n1\c2He is obliterated\c1!'
- xrp = xrp + othermegs*1000
- money = money + OMONEY%2
- findmoney = omoney%2
- omoney = omoney - OMONEY%2
- Transmit '\n1\c3You get \cb'othermegs*1000'\c3 experience points.'
- if OMONEY > 0 then Transmit 'You find $'FINDMONEY'!'
- if OTROJ > 0 then Transmit 'You find 'OTROJ' Trojans!'
- if OBW > 0 then Transmit 'You find 'OBW' Byte Warriors!'
- if OSCA > 0 then Transmit 'You find 'OSCA' SCAs!'
- sendstring '\q1'
-
- if ottyp > ttyp then do
- ttyp = ottyp
- if ottyp > 1 then ottyp = ottyp - 1
- if ottyp < 1 then ottyp = 1
- end
- if odrtyp > drty then do
- drty = odrtyp
- if odrtyp > 1 then odrtyp = odrtyp - 1
- if odrtyp < 1 then odrtyp = 1
- end
- if OSCA >= 1 then do
- SCA = OSCA + SCA
- OSCA = OSCA%2
- if OSCA <=1 then OSCA = 0
- end
- if OTROJ >= 1 then do
- TROJ = OTROJ + TROJ
- OTROJ = OTROJ %2
- if OTROJ <=1 then OTROJ = 0
- end
- if OBW >= 1 then do
- BW = BW + OBW
- OBW = OBW %2
- if OBW <=1 then OBW = 0
- end
- TOTALWINS = TOTALWINS + 1
- otloss = otloss + 1
- call WRITEHIM
- end
- end
-
- if TOHIT >= ttyp+1 then do
- ranmess = random(1,3,time('s'))
- sendstring '\c2'
- if ranmess = 1 then Transmit 'You missed him!'
- if ranmess = 2 then Transmit 'He eludes you!'
- if ranmess = 3 then Transmit 'Nothing happens!'
- end
- Transmit '\q1'
- OTOHIT = random(1,10,time('s'))
- if OTOHIT < ottyp+1 then do
- hdam = random(1,Omegs,time('s'))
- if hdam > MEGS then hdam = MEGS
- MEGS = MEGS - hDAM
- Transmit '\c2He smashes \q1'hDAM'\c2 megs on your drive!\q1'
-
- if MEGS <= 0 then do
-
- txt = '\cb'ALIAS'\c3 fought \cb'OALIAS'\c3 on 'DATE' and \caLOST!'
- call toptensave
-
- sendstring '\c7'
- ranlose = random(1,5,time('s'))
- if ranlose = 1 then Transmit 'You are TOAST!'
- if ranlose = 2 then Transmit 'He over powers you!'
- if ranlose = 3 then Transmit 'You didnt have a chance!'
- if ranlose = 4 then Transmit ALIAS's funeral services are Thursday at 2pm!'
- if ranlose = 5 then Transmit OALIAS' devastates your entire drive!'
- sendstring '\q1'
- oxper = oxper + oldmegs*1000
- Omoney = Omoney + MONEY%2
- money = money - MONEY%2
-
- if ttyp > ottyp then do
- ottyp = ttyp
- if ttyp > 1 then ttyp = ttyp - 1
- if ttyp < 1 then ttyp = 1
- end
- if drty > odrtyp then do
- odrtyp = drty
- if drty > 1 then drty = drty - 1
- if drty < 1 then drty = 1
- end
- if SCA >= 1 then do
- OSCA = OSCA + SCA
- SCA = SCA%2
- if SCA <=1 then SCA = 0
- end
- if TROJ >= 1 then do
- OTROJ = OTROJ + TROJ
- TROJ = TROJ %2
- if TROJ <=1 then TROJ = 0
- end
- if BW >= 1 then do
- OBW = BW + OBW
- BW = BW %2
- if BW <=1 then BW = 0
- end
- otwin = otwin + 1
- TOTALLOSS = TOTALLOSS + 1
- call WRITEHIM
- end
- end
-
- if OTOHIT >= ottyp+1 then do
- sendstring '\c4'
- ranmess = random(1,5,time('s'))
- if ranmess = 1 then Transmit 'He doesnt do anything!'
- if ranmess = 2 then Transmit 'You out witted him!'
- if ranmess = 3 then Transmit 'Nothing happens to you!'
- if ranmess = 4 then Transmit 'Your drive is safe this time!'
- if ranmess = 5 then Transmit 'Your drive is safe this time!'
- end
- sendstring '\q1'
- msg RETURN;pm
- call HACKHIM
- end
-
-
-
- WRITEHIM:
- olfght = ALIAS
- call open file, (play''ONAME),'W'
- call saveostats
- call close file
- LASTFIGHT = OALIAS
- call open file, (play''NAME), 'W'
- call savestats
- call close file
- sendmessage'\n1'RETURN;prompt;transmit '\n2\caExiting Hacker combat\c9..\n1'
- call MAIN
-
- HAA:
- sendfile misc'sys.haa'
- sendstring '\n1 \c9[\cbHAA Main\c9]: \c3'
- getchar;ANS = upper(result);call NC
-
- if ANS='Q' | ans='8' | ans='CD /' then do;Transmit '\caDisconnecting\c9..';call MAIN;end
-
- if ans = '1' then call fixdrive
-
- if ans = '2' then do
- if money <= 0 then do
- Transmit '\c4You need money first\c1!!\n1'
- msg RETURN;pm;call HAA
- end
- call CREDITCARDS
- end
-
- if ANS = '3' then do
- sendfile misc'sys.terminal'
- Transmit '\n1\c3You are currently using \cb'tnm'\c3 and have \c1$\c7'money'\c1.\n1'
- sendmessage'\c3Terminals \c1(\c7S\c1=\cfSell\c1, \c7Q\c1=\cfQuit\c1)? \c9';prompt;ANS=upper(result);call NC
- if ans = ttyp then do
- Transmit '\n1\c2You are already using 'tnm'\c1!\n1'
- msg RETURN;pm;call HAA
- end
- if ans = 'Q' | ans = '' then call HAA
- if ans = 'S' then do
- if ttyp=1 then do;transmit '\n1\caYou have the worst term\c9! \c2Selling not possible\c1.\n1\w2';call haa;end
- ans=ttyp;call termcost;transmit '\n1\c3The HAA will give you \c1$\cb'cost/2' \c3for your \cb'tnm'\c1.'
- sendstring '\c3Do you still wish to sell it\c1? (y/\c7N\c1) \cf';getchar;ans=result
- if ans ~='Y' then call haa;transmit 'Sold.';money=money+(cost/2);ttyp=1;call conversion;call haa
- end
- if ans = '1' | ans < ttyp then do
- if ans = ttyp then Transmit '\n1\caYou already have that\c1!'
- if ans < ttyp then Transmit '\n1\caThat is a worse terminal than what you have\c1!'
- sendmessage '\n1'RETURN;prompt
- call HAA
- end
- if ans > 1 & ans < 10 then do
- call termcost
-
- if money < cost then do
- Transmit '\n1\caYou do not have enough money\c1!'
- sendmessage'\n1'RETURN;prompt
- call HAA
- end
- money = money - cost
- bankmoney = bankmoney + cost
- ttyp = ans;call conversion
- Transmit '\n1\c3'tnm' bought for the price of \c1$\c7'cost'\c1.\n1'
- msg RETURN;pm
- end
- call HAA
- end
-
- if ans = '4' then do
- sendfile misc'sys.hardware'
- Transmit '\n1\c3You are currently using a \cb'drivename'\c3 and have \c1$\c7'money'\c1.'
- sendmessage '\n1\c3Hardware \c1(\c7S\c1=\cfSell, \c7Q\c1=\c7Quit\c1)? \c7';prompt
- ANS=upper(result);call NC
- if ans='S' then do
- if drty=1 then do;transmit '\n1\caYou are using the worst backup method\c9! \c2Selling not possible\c1.\n1\w2';call haa;end
- ans=drty;call hardcost;transmit '\n1\c3The HAA will give you \c1$\cb'cost/2' \c3for your \cb'drivename'\c1.'
- sendstring '\c3Do you still wish to sell it\c1? (y/\c7N\c1) \cf';getchar;ans=result
- if ans ~='Y' then call main;transmit 'Sold.';money=money+(cost/2);drty=1;call conversion;call haa
- end
- if ans = drty then do
- Transmit '\n1\c4You are already using 'drivename'\c1!\n1'
- msg RETURN;pm;call HAA
- end
- if ans = 'Q' | ans = '' then call HAA
- if ans = '1' | ans < drty then do
- if ans = ttyp then Transmit '\n1\caYou already have that\c9!'
- if ans < ttyp then Transmit '\ca\n1That backup is worse than what you have\c9!'
- sendmessage'\n1'RETURN;prompt
- call HAA
- end
- if ans >= 2 & ans <= 7 then do
- call hardcost
- end
-
- if money < cost then do
- Transmit '\n1\c2You do not have enough money\c1!\n1'
- msg RETURN;pm;call HAA
- end
-
- money = money - cost;bankmoney = bankmoney + cost
- drty = ans;call conversion
- Transmit '\n1\c3'drivename' Backup bought for the price of \c1$\c7'cost'\c1!\n1'
- msg RETURN;pm
- call HAA
- end
-
- if ans = '5' then do
- sendfile misc'sys.virus'
- Transmit '\n1\c3You have \c1$\c7'money'.00\c1\n1'
- sendmessage'\c3Viruses \c1(\c7Q\c1=\c7Quit\c1)? \cf';prompt;ANS=upper(result);call NC
- if ans = 'Q' | ans = '' then call HAA
- if ans = 1 then cost = 100;if ans = 2 then cost = 1000
- if ans = 3 then cost = 2500
- if money < cost then do
- Transmit '\n1\caYou do not have enough money\c9'
- sendmessage'\n1'RETURN;prompt;call HAA
- end
- if ans = 1 then virusbought = 'Byte Warrior'
- if ans = 2 then virusbought = 'SCA';if ans = 3 then virusbought = 'Trojan'
-
- sendmessage '\n1\cbBuy how many\c1? \c7';prompt
- numbought = upper(result);call NC
- if numbought = '' | numbought ~< 99 then call HAA
-
- if money < numbought * cost then do
- Transmit '\n1\caYou do not have enough money\c1!\n1'
- msg RETURN;pm;call HAA
- end
- totalcost = numbought * cost
- if numbought > 1 then Transmit '\n1\c7'numbought'\cf 'virusbought's bought for \c1$\c7'totalcost'\c1.'
-
- if ans = 1 then BW = BW + NUMBOUGHT
- if ans = 2 then SCA = SCA + NUMBOUGHT
- if ans = 3 then TROJ = TROJ + NUMBOUGHT
- money = money - totalcost
- bankmoney = bankmoney + totalcost
- sendmessage'\n1'RETURN;prompt;call HAA
- end
-
- if ans = '6' then do
- Transmit '\f1\cbGambling is a bad habit\c1! \cbYou have a \c350%\cb chance of losing\c1!\n1'
- Transmit '\ca Gamble how much money \c1(\c30 to quit\c1)?'
- sendmessage '\c1> \cf';prompt;ANS=upper(result);call NC
- if ANS = 0 | ANS='Q' | ANS='' then call HAA
- if ANS > MONEY then do
- Transmit '\caNot enough money\c1..\n1'
- msg RETURN;pm;call HAA
- end
- RANWIN = RANDOM(1,2,time('s'))
- if RANWIN = 1 then do
- Transmit ''
- ranmess = random(1,3,time('s'))
- if ranmess = 1 then Transmit 'You are a loser!'
- if ranmess = 2 then Transmit 'What a waste of money!'
- if ranmess = 3 then Transmit 'You would do lousy in Vegas!'
- MONEY = MONEY - ANS
- bankmoney = bankmoney + ans
- sendmessage'\n1'RETURN;prompt;call HAA
- end
- Transmit ''
- if ANS <= 1000 then do
- MONEY = MONEY + (ANS * 2)
- bankmoney = bankmoney - ans*2
- Transmit 'You won $'ANS*2' What luck!'
- end
- if ANS > 1000 then do
- Transmit 'You won $'ANS*2'! Outstanding!'
- MONEY = MONEY + (ANS * 2)
- bankmoney = bankmoney - ans*2
- end
- sendmessage'\n1'RETURN;prompt;call HAA
- END
- if ans = '7' then do;call wardial;call haa;end
- if ans = '?' then do
- call HAA
- end
-
- FIXDRIVE:
- if ans='1' then do;tofixcost = level*5;maxmegs = level * 10
- canfix = maxmegs - megs;if megs = maxmegs then do
- Transmit '\c3Your hard drive isn''t damaged\c1.'
- sendmessage'\n1'RETURN;prompt;call HAA
- end
- if MONEY <=0 & savings < 100 then do
- Transmit '\n2\caYou are out of money\c1! \cbYou are given \c1$\c3100\cb from the HAA\c9.'
- money = money + 100;bankmoney = bankmoney - 100
- end
- Transmit '\n2\c3You have \c7'canfix' \c3megabytes of damage\c1.'
- Transmit '\c3Repair costs run \c1$\c7'tofixcost'\c3 per meg to fix\c1.'
- sendmessage '\n1\c3Fix how many\c1? \c7';prompt
- tofix = upper(result);call NC
- if tofix > maxmegs | tofix > canfix then do
- Transmit '\n1\c5You don''t even have that big of a hard drive\c1.\n1'
- sendmessage RETURN;prompt;call HAA
- end
- if tofix = '' then call HAA
- if tofix = '###PANIC' then call QUICKEXIT
- if money < tofixcost*tofix then do
- Transmit '\n1\c2Not enough money\c1!\n1'
- sendmessage RETURN;prompt;call HAA
- end
- megs = megs + tofix;money = money - tofixcost*tofix
- bankmoney = bankmoney + tofixcost*tofix
- Transmit '\n1\c7'tofix'\c3 megs repaired at a total cost of \c1$\c7'tofixcost*tofix'\c1.\n1'
- msg RETURN;pm;call HAA
- END
- call HAA
-
- CREDITCARDS:
- if thecard > 10 then do;transmit '\n1\caYou''ve hacked enough cards today\c9.\w2';call haa;end
- Transmit 'Credit Cards\f1\n1\c3Hacking credit cards is dangerous but if you succeed you can get a large'
- Transmit 'sum of money. There are several different cards which you can hack\c1.\n1'
- Transmit '\c1[\c5H\c1]\cdack a card \c1[\c5L\c1]\cdist Credit Cards to hack\n1\c1[\c5Q\c1]\cduit to HAA\n1'
- msg'\c1[\cfCards\c1> \c7';pm
- ans = upper(result)
- call NC
- if ans = 'Q' | ans='' then call HAA
- if ans = 'H' then do
- Transmit '\n1 \c3Hack which card \c1[\c71-12; 12 being most difficult\c1]'
- msg'> \c5';pm;card = upper(result)
- if card <= 0 | card > 12 then do
- Transmit '\n1\c2That card does not exist\c1...\n1'
- msg RETURN;pm
- call CREDITCARDS
- end
- call open file, (misc'rxx.cardconvrt'), 'R';do i = 1 to 15;temp=readln(file);interpret temp;end;call close file
- sendstring '\n1\c3Hacking \c5'CCARD'\c1... \c2Please hold\c1..\w1';thecard=thecard+1
- cchack = random(1,14,time('s'))
- if cchack < CARD then do
- Transmit '\c2You are CAUGHT by the FEDS\c1!'
- ranpen = random(1,5,time('s'))
- if ranpen = 1 | ranpen = 2 then do
- Transmit '\c3You get off easy with a slap on the wrists!\n1'
- msg RETURN;pm;call HAA
- end
- if ranpen = 3 then do
- moneylos = maxwin
- if moneylos > money then moneylos = money
- Transmit '\n1\c2You are caught by the FEDS\c1! \c5They penalize you \c1$\c7'moneylos'\c1!!'
- money = money - moneylos;bankmoney = bankmoney + moneylos
- msg'\n1'RETURN;pm;call HAA
- end
- if ranpen = 4 then do
- if xrp > 30000 then do
- Transmit '\c5The HAA is rather embarassed, they penalize you'
- Transmit '30000 experience points\c1.'
- xrp = xrp - 30000
- Transmit '\n1\c3They formatted your hard drive as well\c1.\n1'
- megs = 0;msg RETURN;pm;call HAA
- end
- xrp = 0
- Transmit '\c3The HAA is rather embarassed, you are penalized to level 1\c1.'
- Transmit '\c2Sorry\c1! \c3It will teach you for the future\c1!\n1'
- xrp = 0;megs = 0;msg RETURN;pm;call HAA
- end
- if ranpen = 5 then do
- if money < maxwin then maxwin = money
- Transmit '\c3The FBI catches you and fines you \c1$\c7'MAXWIN'\c3 for your crimes\c1.\n1'
- money = money - maxwin;bankmoney = bankmoney + maxwin
- msg RETURN;pm;call HAA
- end
- end
- Transmit '\c3You got away with \c1$\c5'maxwin'\c1!\n1'
- money = money + maxwin;bankmoney = bankmoney - maxwin
- msg RETURN;pm;call HAA
- end
-
- if ans = 'L' then do
- sendfile misc'sys.CreditCards'
- msg RETURN;pm;call CREDITCARDS
- end
- call HAA
-
- DIAL:
- sendfile misc'sys.dialer'
- msg'\n1\c9[\cbSYS:Terms ('maxturns-maincounter') \c9> \cf';pm
- ANS = upper(result);call NC
- if ANS = 'TERM' then do;call turns;call DIALOUT;end
- if ANS = 'DIR' then do
- call DIAL
- end
- if ANS = 'ENDCLI' then call BEXIT
- if ANS = 'Q' | ans = 'QUIT' then call BEXIT
- if (Access = 23) & (ANS = 'ADD') then call AddNumbers
- if ANS = 'CD ROOT' | ans = 'ROOT' | ans = 'CD /' then call MAIN
- if ANS = 'NUMBERS' then do
- call NUMBERLIST;call DIAL
- end
- Transmit '\n1\c3Unkown command.\n1\w2'
- call DIAL;call BEXIT
-
- DIALOUT:
- if MEGS <= 0 then do
- Transmit '\n1\c3You do not have enough storage to do this\c1. \c3Contact the'
- Transmit '\c7Hackers Association of America\c3 and repair your hard drive\c1.\n1'
- msg RETURN;pm;call DIAL
- end
- CALLINGFLAG = 0;FOUNDFLAG = 0
- transmit '\c1(\c3SYS\c1:\c3Terms/\c1>\w1 \s0[CLI 2]\n1\w2\c1(\c3SYS\c1:\c3Terms/\c1>\s9 \s0'
- Transmit '\f1\c3'tnm' v 1.0 All Rights Reserved'
- WW=0;HAH=0
- Transmit '\c7Initializing Modem\c1...\n2\s2AT&C1H0E0X1S2=1M1\s0\n2'
- msg'\c3ATDT *70\c1,\c7';pm
- TODIAL = UPPER(RESULT)
- if todial='' then call dial
- if exists(PHONES'LOCAL') then do
- call open file, (PHONES'LOCAL'), 'R'
- telnum = readln(file)
- do i = 1 to telnum
- locnm.i = readln(file);LOCALNUM.i = readln(file)
- locmg.i = readln(file);locwin.i = readln(file)
- loclos.i = readln(file)
- if LOCALNUM.i = TODIAL then do
- fndnum = TODIAL;fndnm = locnm.i;fndmeg = locmg.i
- fndloss = loclos.i;FOUNDWINS = FOUNDWINS.i;FOUNDLOOP = I
- FOUNDFLAG = 1;CALLINGFLAG = 1
- end
- end
- call close file
-
- if foundflag = 0 then do
- call open file, (PHONES'HAA'), 'R'
- telnum = readln(file)
- do i = 1 to telnum
- locnm.i = readln(file);LOCALNUM.i = readln(file)
- locmg.i = readln(file);locwin.i = readln(file)
- loclos.i = readln(file)
- if LOCALNUM.i = TODIAL then do
- fndnum = TODIAL;fndnm = locnm.i;fndmeg = locmg.i
- fndloss = loclos.i;FOUNDWINS = FOUNDWINS.i
- FOUNDLOOP = I;WW=1;HAH=1;FOUNDFLAG = 1;CALLINGFLAG = 5
- end
- end
- call close file
- end
-
- if foundflag = 0 then do
- call open file, (PHONES'WAR'), 'R'
- telnum = readln(file)
- do i = 1 to telnum
- locnm.i = readln(file);LOCALNUM.i = readln(file)
- locmg.i = readln(file);locwin.i = readln(file)
- loclos.i = readln(file)
- if LOCALNUM.i = TODIAL then do
- fndnum = TODIAL;fndnm = locnm.i;fndmeg = locmg.i
- fndloss = loclos.i;FOUNDWINS = FOUNDWINS.i
- FOUNDLOOP = I;WW=1;FOUNDFLAG = 1;CALLINGFLAG = 4
- end
- end
- call close file
- end
-
- if foundflag = 0 then do
- call open file, (PHONES'MAINFRAMES'), 'R'
- telnum = readln(file)
- do i = 1 to telnum
- locnm.i = readln(file);LOCALNUM.i = readln(file)
- locmg.i = readln(file);locwin.i = readln(file)
- loclos.i = readln(file)
- if LOCALNUM.i = TODIAL then do
- fndnum = TODIAL;fndnm = locnm.i;fndmeg = locmg.i
- fndloss = loclos.i;FOUNDWINS = FOUNDWINS.i
- FOUNDLOOP = I;FOUNDFLAG = 1;CALLINGFLAG = 2
- end
- end
- call close file
- end
-
- if foundflag = 0 then do
- call open file, (PHONES'GOV'), 'R'
- telnum = readln(file)
- do i = 1 to telnum
- locnm.i = readln(file);LOCALNUM.i = readln(file);locmg.i = readln(file)
- locwin.i = readln(file);loclos.i = readln(file)
- if LOCALNUM.i = TODIAL then do
- fndnum = TODIAL;fndnm = locnm.i;fndmeg = locmg.i
- fndloss = loclos.i;FOUNDWINS = FOUNDWINS.i
- FOUNDFLAG = 1;CALLINGFLAG = 3;FOUNDLOOP = I
- end
- end
- call close file
- end
- if FOUNDFLAG = 0 then do
- Transmit '\n1\caThat number is not listed\c1! \cbTry typing ''Numbers'' for a listing'
- Transmit 'of possible numbers to dial\c1.\n1';maincounter=maincounter-1
- msg RETURN;pm;call DIAL
- end
- if fndmeg > 999 then do;transmit '\n2\caBBS Over 999 Megs! Error\c9..\w1';call dial;end
- if lastfight=fndnm then do;transmit '\n1\c3You already hacked that BBS. Try a diferent one.\n1\w2';call dial;end
- msg '\n1'RETURN;pm
- Transmit '\f1\c2Dialing\c1..'
- transmit '\n1\c3ATDT *70,'fndnum
- OTHERMEGS = fndmeg
- transmit '\w3';gaga=random(1,10,time(s));if gaga='1' | gaga = '2' then do;transmit '\n1\c1BUSY\n1\w2';call dial;end
- if gaga='9' | gaga='10' then do;transmit '\n1\c1NO CARRIER\n1\w2';call dial;end
- Transmit '\f1\b1'
- if ttyp <= 2 then Transmit '\s2CONNECT 300\n1\w2'
- if ttyp >= 3 & ttyp <= 4 then Transmit '\s1CONNECT 1200\n1\w2'
- if ttyp >= 5 & ttyp <= 6 then Transmit 'CONNECT 2400\w2'
- if ttyp >= 7 & ttyp <= 8 then Transmit 'CONNECT 9600\w2'
- if ttyp >= 9 & ttyp <= 15 then Transmit 'CONNECT 19200\w2'
-
- if (CALLINGFLAG = 1) | (Callingflag=4) | (CallingFlag=5) then do
- if exists(misc||fndnm) then do;sendfile misc||fndnm;end;else sendfile misc'sys.Generic'
- end
-
- if CALLINGFLAG = 2 then do
- Transmit '\c2VAX VMS MAINFRAME V5.12\q1';Transmit '\n1\c3Licensed to 'fndnm
- Transmit '\n1\q1Local>_\n2'
- end
-
- if CALLINGFLAG = 3 then do
- Transmit fndnm' \c2computer\q1'
- Transmit '\c2This is a Goverment restricted area. If you are not authorized log off at'
- Transmit 'once! Federal law prohibits any hacking or piracy anywhere!\q1\n2'
- Transmit '\c3To login, enter information using this format\c1:'
- Transmit ' \c3[USERNAME] \q1/ \c3[PASSWORD#1]\q1 / \c3[PASSWORD#2]\q1 / \c3[USERID#]\q1\n2@>'
- end
-
- Transmit '\c9 ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿'
- Transmit ' ³ \cdNow is your chance\c1! \c5Should you hack or run\c1? \c9³'
- Transmit ' ³ ³'
- Transmit ' ³ \c1[\c3H\c1]\c3ack\c1 \c9³'
- Transmit ' ³ \c1[\c3R\c1]\c3un\c1 \c9³'
- Transmit ' ³ ³'
- Transmit ' ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ\n1'
- Sendstring '\^3\>4\c2Choice\c1? \c7'
- getchar;ANS = result
- call NC;if ANS = 'H' then do
- Transmit 'Hack';call FIGHTINIT
- end
- Transmit '\n2+++\n1\w2\s1NO CARRIER\s0\n1\w1'
- call DIAL
-
- FIGHTINIT:
- TFM = left(fndmeg,5);TFN = left(fndnm,20);TYM = left(MEGS,4)
- TBW = left(BW,5);TTR = left(TROJ,5);TSC = left(SCA,5);TMK = left(MK,5)
- Transmit '\w2\f1\n1\caYou are currently using \q1'tnm'\ca and use \q1'DRIVENAME'\ca backup\c1.\n1'
- Transmit ' \cbHis megs:\q1 'TFM'\cb Name: \q1'TFN
- Transmit '\cdYour megs:\q1 'tym'\n1';flag=1
- if TROJ>0 then do;txt=left('\c1[3] \cbTrojans\c1: \c7'ttr,51);sendstring txt;flag=flag+1;end
- if SCA>0 then do;txt=left('\c1[4] \cbSCAs\c1: \c7'TSC,51);if flag=2 then do;transmit txt;flag=1;end;else do;sendstring txt;flag=flag+1;end;end
- if BW>0 then do;txt=left('\c1[5] \cbByte Warriors\c1: \c7'tbw,51);if flag=2 then do;transmit txt;flag=1;end;else do;sendstring txt;flag=flag+1;end;end
- if MK>0 then transmit left('\c1[6] \cbMemory Killers\c1:\c7'TMK,51)
- msg'\n2\c1 \c21\c1=\c3Line Noise, \c22\c1=\c3Normal Hack, \c2Q\c1=\c3Run or enter a Virus number.\n1\c1-> \c7';pm
- ANS = upper(RESULT)
- if ANS = '?' then do
- call FIGHTINIT
- end
- if ANS = 'Q' | ans = 'D' | ans = '' then call TRYDISC
- if ans = '1' then call HACKEM
- if ans = '2' then call HACKEM
- if ans = '3' then do
- if TROJ <=0 then do
- Transmit 'You have no Trojans!';call FIGHTINIT
- end
- TROJUSED = TROJUSED + 1;TROJ = TROJ - 1;call HACKEM
- end
- if ans = '4' then do
- if SCA <= 0 then do
- Transmit 'You have no SCA Viruses!';call FIGHTINIT
- end
- SCAUSED = SCAUSED + 1;SCA = SCA - 1
- call HACKEM
- end
- if ans = '5' then do
- if BW <= 0 then do
- Transmit 'You have no Byte Warriors!'
- call FIGHTINIT
- end
- BWUSED = BWUSED + 1;BW = BW - 1
- call HACKEM
- end
- if ans = '6' then do
- if MK <= 0 then do
- Transmit 'You have no Memory Killers!'
- call FIGHTINIT
- end
- MKUSED = MKUSED + 1;MK = MK - 1
- call HACKEM
- end
-
-
- if ans = '9' then do
- if xrp > 3000000 then do
- Transmit 'President of the HAA automatic termination.....'
- Transmit 'That computer is totally destroyed, 'ALIAS'!'
- winflag = 0;fndmeg = 0;call WRITEBBS
- end
- Transmit 'Security breach!'
- end
-
- call TRYDISC
-
-
- HACKEM:
- transmit;call rndc
- if ANS = 1 then sendstring '&^#@G!$KG*&%!@#($&^Yµ¡¤þ¾¼þ«·¾½¼¢tiyuTIYT^*!%#@$ '
- if ANS = 2 then sendstring 'You try to hack at his computer\c1..'
- if ANS = 3 then sendstring 'You try to upload a Trojan\c1..'
- if ANS = 4 then sendstring 'You try to upload an SCA\c1..'
- if ANS = 5 then sendstring 'You try to upload a Byte Warrior\c1..'
- if ANS = 6 then sendstring 'You try to upload a Memory Killer\c1..'
- call rndc
- if ANS = 1 then THRAN = random(1,2,time('s'))
- if ANS = 2 then THRAN = random(1,3,time('s'))
- if ANS = 3 then THRAN = random(1,ttyp,time('s'))
- if ANS = 4 then THRAN = random(1,ttyp,time('s'))
- if ANS = 5 then THRAN = random(1,ttyp,time('s'))
- if ANS = 6 then THRAN = random(1,ttyp,time('s'))
-
- if THRAN <= ttyp then do
- call RANDOMHITMESS
- if ANS = 1 then THdam = random(1,10,time('s'))
- if ANS = 2 then THdam = random(1,15,time('s'))
- if ANS = 3 then do
- THdam = random(1,100,time('s'))
- Transmit 'The Trojan succeeds!'
- end
- if ANS = 4 then do
- THdam = random(1,75,time('s'))
- Transmit 'The SCA messes him up!'
- end
- if ANS = 5 then do
- THdam = random(1,50,time('s'))
- Transmit 'Byte Warrior city on his end!'
- end
- if ANS = 6 then do
- THdam = random(100,200,time('s'))
- Transmit 'The memory killer plasters his drive!'
- end
-
- if THDAM > fndmeg then THDAM = fndmeg
- Transmit thdam' megs of his drive are jelly!'
- fndmeg = fndmeg - THdam
- if fndmeg <= 0 then do
- winflag = 0
- call WRITEBBS
- end
- totmgcr = totmgcr + THDAM
- transmit
- end
-
- if THRAN > ttyp then do
- if ANS = 1 | ANS = 2 then Transmit 'You fail!'
- if ANS = 3 then do
- Transmit 'The Trojan fails!'
- end
- if ANS = 4 then do
- Transmit 'The SCA fails!'
- end
- if ANS = 5 then do
- Transmit 'The Byte Warrior does not succeed!'
- end
- if ANS = 6 then do
- Transmit 'The Memory Killer does not work!'
- end
- end
- transmit;call HISTURN
- call rndc;call HISCOMBAT
-
- HISCOMBAT:
- if HEHIT = 0 then do
- Transmit 'He doesnt do anything!'
- call FIGHTINIT
- end
- hisdam = random(1,fndmeg,time('s'))
- if hisdam > megs then hisdam = megs
- Transmit 'He trashes 'hisdam' megs on your computer!'
- megs = megs - hisdam;megslost = megslost + hisdam
- if megs <= 0 then do
- winflag = 1;call WRITEBBS
- end
- call FIGHTINIT
-
-
- TRYDISC:
- Transmit '\n1\c7You try to disconnect\c1...\n1'
- HIT = random(1,2,time('s'))
- if HIT = 1 then do
- Transmit '+++\n1\w2NO CARRIER'
- call DIAL
- end
- transmit '\c2You fail\c1!\n1'
- DAM = random(1,fndmeg,time('s'))
- oldmegs = megs
- megs = megs - dam
- if megs < 0 then megs = 0
- if megs = 0 then do
- Transmit '\c4You are trashed TOTALLY\c1!\n1'
- megslost = megslost + oldmegs
- end
- if megs > 0 then do
- Transmit '\c4He did 'DAM' megs of damage\c1!\n1'
- megslost = megslost + dam
- end
- msg RETURN;pm;totalloss = totalloss + 1
- WINFLAG = 1;call WRITEBBS
-
-
- WRITEBBS:
- LASTFIGHT = fndnm
- if winflag = 0 then do
- extrabonus = random(1,3,time('s'))
- if extrabonus = 1 then do
- exbtype = random(1,50,time('s'))
- exbon = exbtype * 1000
- Transmit 'You get a special extra bonus of $'ExBon'!'
- money = money + exbon
- bankmoney = bankmoney - exbon
- end
- moneyfound = random(1,othermegs,time('s'))
- if othermegs > 500 then moneyfound = moneyfound * 2
- findvir = random(1,2,time('s'))
- vir = 'no';numvir = ''
- if findvir = 1 | findvir = 2 then do
- numvir = random(1,5,time('s'))
- virtyp = random(1,4,time('s'))
- if virtyp = 1 then do
- bw = bw + numvir;vir = 'Byte Warrior'
- end
- if virtyp = 2 then do
- troj = troj + numvir;vir = 'Trojan'
- end
- if virtyp = 3 then do
- sca = sca + numvir;vir = 'SCA'
- end
- if virtyp = 4 then do
- numvir = 1;mk = mk + 1;vir = 'Memory Killer'
- end
- end
- TOTALwins = TOTALwins + 1
- if WW=1 then xbns = othermegs*200
- else xbns = othermegs*100
- xrp = xrp + xbns
- money = money + moneyfound;bankmoney = bankmoney - moneyfound
- Transmit '\n1\c3The HAA rewards you with \cb'xbns'\c3 experience points and a cash'
- Transmit 'bonus of \cb$'moneyfound'\c1.'
- Transmit '\n1\c5You also find \c7'numvir' 'vir'\c5 virus(s)\c1.'
- end
- if winflag = 1 then do
- TOTALLOSS = TOTALLOSS + 1;transmit '\n1\c5You lost\c1!'
- end
- msg '\n1'RETURN;pm
-
- if CALLINGFLAG = 1 then call open file, (PHONES'LOCAL'), 'R'
- if CALLINGFLAG = 2 then call open file, (PHONES'MAINFRAMES'), 'R'
- if CALLINGFLAG = 3 then call open file, (PHONES'GOV'), 'R'
- if CALLINGFLAG = 4 then call open file, (PHONES'WAR'), 'R'
- if CALLINGFLAG = 5 then call open file, (PHONES'HAA'), 'R'
- telnum = readln(file)
- do i = 1 to telnum
- locnm.i = readln(file);LOCALNUM.i = readln(file)
- locmg.i = readln(file);locwin.i = readln(file)
- loclos.i = readln(file)
- end
- call close file
- locnm.FOUNDLOOP = fndnm;LOCALNUM.FOUNDLOOP = fndnum
- locmg.FOUNDLOOP = OTHERMEGS
- if WINFLAG = 1 then locwin.FOUNDLOOP = locwin.FOUNDLOOP + 1
- if WINFLAG = 0 then loclos.FOUNDLOOP = loclos.FOUNDLOOP + 1
- if CALLINGFLAG = 1 then call open file, (PHONES'LOCAL'), 'R'
- if CALLINGFLAG = 2 then call open file, (PHONES'MAINFRAMES'), 'R'
- if CALLINGFLAG = 3 then call open file, (PHONES'GOV'), 'R'
- if CALLINGFLAG = 4 then call open file, (PHONES'WAR'), 'R'
- if CALLINGFLAG = 5 then call open file, (PHONES'HAA'), 'R'
- call writeln file, TELNUM
- do i = 1 to telnum
- call writeln file, locnm.i;call writeln file, LOCALNUM.i
- call writeln file, locmg.i;call writeln file, locwin.i
- call writeln file, loclos.i
- end
- call close file
- if WINFLAG=0 and HAH=1 then call wingame
- call DIAL
-
- HISTURN:
- if OTHERMEGS < 50 then do
- HHRAN = random(1,5,time('s'))
- end
- if OTHERMEGS < 100 then do
- HHRAN = random(1,4,time('s'))
- end
- if OTHERMEGS < 150 then do
- HHRAN = random(1,3,time('s'))
- end
- if OTHERMEGS < 500 then do
- HHRAN = random(1,2,time('s'))
- end
- if OTHERMEGS < 1000 then do
- HHRAN = random(1,1,time('s'))
- end
- if hhran = 1 then HEHIT = 1
- if hhran > 1 then HEHIT = 0
- RETURN
-
- RANDOMHITMESS:
- RANMESS = random(1,5,time('s'))
- if RANMESS = 1 then do
- Transmit 'You got him!'
- end
- if RANMESS = 2 then do
- Transmit 'You nailed him!'
- end
- if RANMESS = 3 then do
- Transmit 'You fried him!'
- end
- if RANMESS = 4 then do
- Transmit 'He is french toast on that round!'
- end
- if RANMESS = 5 then do
- Transmit 'You can smell burnt chips thru the telephone lines!'
- end
- RETURN
-
- NUMBERLIST:
- Transmit '\f1\c3bisting of\c1:\n1'
- Transmit '\c3A. \cdLocal Boards \cdEasy\n1\c3B. \c5Mainframes \cfModerate\n1\c3C. \c5Government Computers \caHard\n1'
- sendstring '?\c1] \c7'
- getchar;ANS = RESULT;call nc
- if ANS='A' | ans='' then do
- transmit 'Local'
- if ~exists(phones'LOCAL') then do
- Transmit '\c2There is not a local telephone book. Tell the SysOp\c1!\n1'
- msg RETURN;pm
- call DIAL
- end
- call open file, (PHONES'LOCAL'), 'R'
- telnum = readln(file)
- do i = 1 to telnum
- locnm.i = readln(file);LOCALNUM.i = readln(file);locmg.i = readln(file)
- locwin.i = readln(file);loclos.i = readln(FILE)
- end
- call close file
- Transmit '\f1 \c3Megs Number WINS LOSS BBS Name '
- Transmit ' \c1---- ------ ---- ---- --------\c7'
- phonecount = 0
- do i = 1 to telnum
- phonecount = phonecount + 1
- lnum = left(LOCALNUM.i,15);lmeg = left(locmg.i,10)
- lnam = left(locnm.i,25);lwin = left(locwin.i,10)
- lloss = left(loclos.i,10)
- Transmit ' 'lmeg''lnum''lwin''lloss''lnam
- if phonecount > 20 then do
- msg RETURN;pm;phonecount = 0
- Transmit CLS
- end
- end
- Transmit '\n1\c2End of Local BBS List\c1.\n1'
- msg RETURN;pm;call DIAL
- END
-
- if ANS = 'B' then do
- transmit 'Mainframes'
- if ~exists(phones'MAINFRAMES') then do
- Transmit '\c2There is not a Mainframe telephone book. Tell the SysOp\c1!\n1'
- msg RETURN;pm;call DIAL
- end
- call open file, (PHONES'MAINFRAMES'), 'R'
- telnum = readln(file)
- do i = 1 to telnum
- MAINFNAME.i = readln(file);MAINFNUM.i = readln(file)
- MAINFMEGS.i = readln(file);MAINFWINS.i = readln(file)
- MAINFLOSS.i = readln(FILE)
- end
- call close file
- Transmit '\f1\c3Megs Number WINS LOSS Mainframe'
- Transmit '\c1---- ------ ---- ---- ---------\c7'
- phonecount = 0
- do i = 1 to telnum
- phonecount = phonecount + 1
- mnum = left(MAINFNUM.i,15);mmeg = left(MAINFMEGS.i,10)
- mnam = left(MAINFNAME.i,25);mwin = left(MAINFWINS.i,10)
- mloss = left(MAINFLOSS.i,10)
- Transmit mmeg''mnum''mwin''mloss''mnam
- if phonecount > 20 then do
- msg RETURN;pm;phonecount = 0
- Transmit CLS
- end
- end
- Transmit '\n1\c2End of MainFrame List\c1.\n1'
- msg RETURN;pm;call DIAL
- END
-
- if ANS = 'C' then do
- transmit 'Government'
- if ~exists(phones'GOV') then do
- Transmit 'There is not a Goverment telephone book. Tell the SysOp!\n1'
- msg RETURN;pm;call DIAL
- end
- call open file, (PHONES'GOV'), 'R'
- telnum = readln(file)
- do i = 1 to telnum
- GOVNAME.i = readln(file);GOVNUM.i = readln(file)
- GOVMEGS.i = readln(file);GOVWINS.i = readln(file)
- GOVLOSS.i = readln(FILE)
- end
- call close file
- Transmit '\f1\c3Megs Number WINS LOSS Government Computer'
- Transmit '\c1---- ------ ---- ---- -------------------\c7'
- phonecount = 0
- do i = 1 to telnum
- phonecount = phonecount + 1
- gnum = left(GOVNUM.i,15);gmeg = left(GOVMEGS.i,10)
- gnam = left(GOVNAME.i,25);gwin = left(GOVWINS.i,10)
- gloss = left(GOVLOSS.i,10)
- Transmit gmeg''gnum''gwin''gloss''gnam
- if phonecount > 20 then do
- msg RETURN;pm;phonecount = 0;Transmit CLS
- end
- end
- Transmit '\n1\c2End of Goverment List\c1.\n1'
- msg RETURN;pm;call DIAL
- END
- Transmit 'What?'
- RETURN
-
-
- CONVERSION:
- call open file, (misc'rxx.levconvert'), 'R';boom=0;do until boom=1
- temp=readln(file);interpret temp;end;call close file
- RETURN
-
- OCONVERSION:
- call open file, (misc'rxx.oconvert'), 'R';boom=0;do until boom=1
- temp=readln(file);interpret temp;end;call close file
- RETURN
-
- OCONVERSION2:
- call open file, (misc'rxx.oconvert2'), 'R';boom=0;do until boom=1
- temp=readln(file);interpret temp;end;call close file
- RETURN
-
- MENU:
- call open file, (misc'rxx.maindir'), 'R';boom=0;do until boom=1;fart=readln(file)
- interpret fart;end;call close file;return
-
- SENDMESS:
- Transmit '\f1\caSend a user a message\c9:\n1'
- txt='\cnSend a message to';call listusers;if toget='###' then call main
- Transmit '\f1\cbPlease enter up to \c33\cb lines of transmissions\q1:'
- Transmit '\cbHit RETURN(s) when your are done sending your message\c1.\n1'
- Transmit '\c3This is your margin\c9:\n1'
- Transmit '\c7:----:----:----:----:----:----:----:----:----:----:----:----:----:----:----:'
- do i = 1 to 3
- call rndc
- msg'\cf';pm;ans=result
- line.i=left(ans,77)
- end
- sendstring '\n1\c3Send the above message? \c1(y/\c7N\c1)? \c7'
- getchar;ans = result;call nc
- if ans ~= 'N' then sendstring 'Yes';else do;transmit 'No.';call MAIN;end
- call mailmessage;Transmit '\h3\caSent\c9.';call MAIN
-
- USERLIST:
- Transmit '\f1\cd Users currently playing Hacker\c1:\n1'
- call open file, (play'ALIASES'), 'R'
- do i = 1 to TOTALUSERS
- tempa = readln(file);tempb = readln(file);temp=i'.'
- if access ~=23 then lala='';else lala='\c1(\c2'tempb'\c1)'
- transmit '\c1'left(temp,3)' \cb'tempa' 'lala
- end
- call close file
- msg '\n1'RETURN;pm
- bg=1;call top
- RETURN
-
- YOURSTATS:
- TEX = left(xrp,20);TMO = left(MONEY,10);TDT = left(drty,10)
- TTT = left(ttyp,10);TST = left(MEGS,10);TSC = left(SCA,10)
- TBW = left(BW,10);TTR = left(TROJ,10);UTR = left(TROJUSED,10)
- UBW = left(BWUSED,10);USC = left(SCAUSED,10);UMK = left(MKUSED,10)
- TMK = left(MK,10);TLN = left(LEVNAME,25);tlv = left(LEVEL,10)
- Transmit '\f1\n1\c3Stats for 'name'\c1, \c3 Alias \c1"\c7'alias'\c1":\n1'
- Transmit '\cb Money\c1: $\c3'TMO' \cbExperience\c1: \c3'TEX
- Transmit '\cb Level\c1: \c3'tlv' \cbLevel Name\c1: \c3'TLN
- Transmit '\cbDrivetype\c1: \c3'TDT' \cb Terminal\c1: \c3'TTT
- Transmit '\cb Storage\c1: \c3'TST'\h1\cbMB Lost/Crashed\c1: \c3'megslost'\c1/\c3'totmgcr
- Transmit '\n1\cd Virus Statistics\c1:\n1'
- Transmit '\cb SCAs\c1: \c3'TSC' \cbUsed\c1: \c3'USC
- Transmit '\cb Byte Warriors\c1: \c3'TBW' \cbUsed\c1: \c3'UBW
- Transmit '\cb Trojans\c1: \c3'TTR' \cbUsed\c1: \c3'UTR
- Transmit '\cbMemory Killers\c1: \c3'TMK' \cbUsed\c1: \c3'UMK
- msg'\n1'RETURN;pm
- LFI = left(LASTFIGHT,20);TPL = left(TOTALPLAYS,20);TWI = left(TOTALWINS,20)
- TLO = left(TOTALLOSS,20)
- Transmit '\f1 \cdWIN/LOSS/PLAY Statistics\c1:\n1'
- Transmit '\cb Last Fight\c1: \c3'LFI
- Transmit '\cb Last Play\c1: \c3'DATE
- Transmit '\cb Total Plays\c1: \c3'TPL
- Transmit '\cb Total Wins\c1: \c3'TWI
- Transmit '\cb Total Losses\c1: \c3'TLO'\n1'
- msg RETURN;pm
- RETURN
-
-
- RndC: /* Random Color Generator */
- color = random(1,7,time('s'));sendstring '\c'color
- RETURN
-
- SPY:
- Transmit '\f1\caSpy on another user\c1:\n1';txt='\cbSpy on';call listusers
- call NC;if toget='###' then call main;call open file, (play''toget), 'R'
- call readostats;call close file
- call OCONVERSION2
- Transmit '\n1\c3It will cost you \c1$\c7'OLEVEL*100'\c3 to spy on that person\c1.'
- costtospy = OLEVEL *100
- if money < costtospy then do
- Transmit '\n1\cbYou do not have enough money\c1!\n1'
- msg RETURN;pm;call MAIN
- end
- sendstring '\c3Spy on him? \c1(y/\c7N\c1) \c7';getchar;SPYANS = result
- call NC;if spyans ~= 'Y' then call main
- OTEX = left(oxper,20);OTMO = left(OMONEY,10);OTDT = left(odrtyp,10)
- OTST = left(OMEGS,10);OTML = left(omlst,10);OTSC = left(OSCA,10);OTBW = left(OBW,10)
- OUBW = left(OBWUSED,10);OUSC = left(OSCAUSED,10);OTMK = left(OMK,10)
- Otlv = left(OLEVEL,10)
- Transmit '\f1\c3Stats for \cb'Oalias'\c1:\n1'
- Transmit '\cb Money\c1: $\c3'OTMO' \cbExperience\c1: \c3'Oxper
- Transmit '\cb Level\c1: \c3'Otlv' \cbLevel Name\c1: \c3'Olevname
- Transmit '\cbDrivetype\c1: \c3'OTDT' \cbTerminal\c1: \c3'Ottyp
- Transmit '\cb Storage\c1: \c3'OTST' \cbMegs lost\c1: \c3'OTML' \cbMegs Crashed\c1: \c3'Otmcr
- Transmit '\cb SCAs\c1: \c3'OTSC' \cbByte Warriors\c1: \c3'OTBW' \cbTrojans\c1: \c3'otroj
- Transmit '\cbSCAs used\c1: \c3'OUSC' \cbBWs Used\c1: \c3'OUBW' \cbTrojans Used\c1: \c3'otrojused
- Transmit '\cb Mem Kill\c1: \c3'OTMK' \cbMKs Used\c1: \c3'Omkused'\n1'
- Transmit ' \cdWin/Loss/Play Statistics\c1:\n1'
- Transmit '\cb Last Fight\c1: \c3'OLfght
- Transmit '\cb Last Play\c1: \c3'Odate
- Transmit '\cb Total Plays\c1: \c3'Otpl
- Transmit '\cb Total Wins\c1: \c3'Otwin
- Transmit '\cbTotal Losses\c1: \c3'OTloss'\n1'
- msg '\n1'RETURN;pm
- money = money - olevel*200
- stor=alias;alias='Hacker v4.5';line.1=stor' Spied on you!';line.2='';line.3=''
- call mailmessage;alias=stor;call MAIN
-
- TOP:
- if bg = 1 then Transmit '\f1\cfSorting players\c1...'
- call open file, (play'REALNAMES'), 'R'
- do i = 1 to TOTALUSERS
- REALname.i = readln(file)
- end
- call close file
-
- do i = 1 to totalusers
- call open file, (play''REALNAME.i), 'R'
- OALIAS.i = readln(file);OMONEY.i = readln(file)
- OMEGS.i = readln(file);OSCA.i = readln(file)
- OBW.i = readln(file);OTROJ.i = readln(file)
- odrtyp.i = readln(file);ottyp.i = readln(file)
- oxper.i = readln(file);olfght.i = readln(file)
- ODATE.i = readln(file);otpl.i = readln(file)
- otmcr.i = readln(file);otwin.i = readln(file)
- otloss.i = readln(file);omlst.i = readln(file)
- OBWUSED.i = readln(file);OTROJUSED.i = readln(file)
- OSCAUSED.i = readln(file);OMKUSED.i = readln(file)
- OMK.i = readln(file);call close file
- END
-
- n = totalusers-1;o = totalusers-1
- do i = 1 to n
- do j = 1 to o
- q = j + 1
- if oxper.q > oxper.j then do
- temp = oxper.j;tempname = OALIAS.j
- oxper.j = oxper.q;OALIAS.j = OALIAS.q;oxper.q = temp;OALIAS.q = tempname
- end
- end
- end
- call open nfile, (play''Top15), 'W'
- call writeln nfile,'\f1 \cdTop 15 Hackers\c1:\n1'
- call writeln nfile,' \c5# Alias Experience Level\c3'
- toloop = 15
- if totalusers < toloop then toloop = totalusers
- DO I = 1 to toloop
- call OCONVERSION;OALIAS = left(OALIAS.i,25)
- OEXP = left(oxper.i,15);OLEVNAME = left(OLEVNAME,30);temp=i'.'
- call writeln nfile,' \cb'left(temp,3)' \c3'OALIAS''OEXP''OLEVNAME
- end
- call close nfile
- if bg = 1 then do; sendfile play''top15
- msg'\n1'RETURN;pm;end
- bg = 0
- return
-
- BANK:
- pmo = left(money,23);psa = left(savings,22);bmo = left(bankmoney,20)
- Transmit '\f1 \c9ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿'
- Transmit ' \c9³ \cdPocket Money Savings Account Bank Money \c9³'
- Transmit ' \c9³ \c1$\c5'pmo'\c1$\c5'psa'\c1$\c5'bmo'\c9³'
- Transmit ' \c9ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ'
- sendfile misc'sys.bank'
- sendstring '\c1-> \cf';getchar;ans=result;if ans='#' then call quickexit
- if ans = 'E' then do;transmit 'Exit';call MAIN;end
- if ans = 'D' then do
- if money <=0 then do
- Transmit 'Deposit\n2\c2You are holding no money\c1!\n1'
- msg RETURN;pm
- call MAIN
- end
- msg'Desposit\c1.\n2\c3Deposit how much \c1(\c7Q\c1=\c7Quit\c1)? \c1$\c7';pm
- ans = result;call NC
- if ans > money then do
- Transmit '\n1\c2You do not have that much\c1!';msg'\n1'RETURN;pm;call MAIN
- end
- if ans = '' then call MAIN
- money = money - ans;savings = savings + ans
- call open file, (BNK''NAME), 'W';call writeln file, SAVINGS;call close file
- Transmit '\n1\c1$\c7'ANS' \c3deposited\c1. \c3You now have \c1$\c7'SAVINGS'\c3 in your savings account\c1, \c3and \c1$\c7'money'\c3'
- transmit 'in your pocket\c1.';msg'\n1'RETURN;pm;call MAIN
- end
-
- if ans = 'W' then do
- if ~exists(BNK''NAME) then do
- Transmit 'Withdraw\c1.\n2\c5You have no Savings Account\c1.\n1'
- msg RETURN;pm;call MAIN;end
- msg'Withdraw\c1.\n2\c3Withdraw how much \c1(\c7Q\c1=\c7Quit\c1)? $\c7';pm
- ANS = result;call NC
- if ans = '' | ans = 'Q' | ans = 'q' then call MAIN;if ans > savings then do
- Transmit '\n1\c2Not enough in account\c1.\n1';msg RETURN;pm;call MAIN;end
- money = money + ans;savings = savings - ans
- call open file, (BNK''NAME), 'W';call writeln file, SAVINGS;call close file
- Transmit '\n1\c1$\c7'ans'\c3 withdrawn\c1. \c3You now have \c1$\c7'money'\c1.\n1'
- msg RETURN;pm;call MAIN;end;call MAIN;end
-
- NC:
-
- if maincounter >= MAXTURNS then do
- Transmit '\n1\cbYou are out of turns for this call\c1. \c3Try tomorrow\c1.\n1'
- msg RETURN;pm;call BEXIT;end
- if storage() < minbyte then do;transmit '\n1\caMemory running low\c1! \c2Exiting game\ca..'
- call bexit2;end;return
-
- BEXIT:
- transmit 'Process 4 ending\n1endcli\w1\n2\caSaving your stats\c1..'
- call top
- BEXIT2:
- call open file, (BNK'MONBANK'), 'W';call writeln file, BANKMONEY;call close file
- TOTALPLAYS = TOTALPLAYS + 1
- call open file, (play''NAME), 'W'
- call savestats;call close file
- transmit '\n2\c3Hacker v4.0 \c1- \c3Originaly by \cbPatrick Baker\c3, modified by \cbThe Brazilian\c3'
- transmit '\c3Hacker v4.5 \c1- \c3Modified by \cfDiamond Back\c3 for the \cfFLIPSIDE \c3(305)596-6711'
- SHUTDOWN
- exit
-
-
- TERMCOST: /* Used to determine how much terminals cost */
- if ans = 2 then cost = 1000;if ans = 3 then cost = 10000
- if ans = 4 then cost = 50000;if ans = 5 then cost = 100000
- if ans = 6 then cost = 200000;if ans = 7 then cost = 500000
- if ans = 8 then cost = 1000000;if ans = 9 then cost = 200000
- return
-
- HARDCOST: /* Used to determine how much hardware costs */
- if ans = 2 then cost = 1000;if ans = 3 then cost = 10000
- if ans = 4 then cost = 50000;if ans = 5 then cost = 100000
- if ans = 6 then cost = 150000;if ans = 7 then cost = 200000
- return
-
- READSTATS:
- ALIAS = readln(file);MONEY = readln(file);MEGS = readln(file)
- SCA = readln(file);BW = readln(file);TROJ = readln(file);drty = readln(file)
- ttyp = readln(file);xrp = readln(file);LASTFIGHT = readln(file);DATE = readln(file)
- TOTALPLAYS = readln(file);totmgcr = readln(file);TOTALWINS = readln(file)
- TOTALLOSS = readln(file);MEGSLOST = readln(file);BWUSED = readln(file)
- TROJUSED = readln(file);SCAUSED = readln(file);MKUSED = readln(file)
- MK = readln(file);LASTDPLAYED = readln(file);MAINCOUNTER = readln(file)
- WD = readln(file)
- return
-
- SAVESTATS:
- call writeln file,ALIAS;call writeln file,MONEY
- call writeln file,MEGS;call writeln file,SCA;call writeln file,BW
- call writeln file,TROJ;call writeln file,drty;call writeln file,ttyp
- call writeln file,xrp;call writeln file,LASTFIGHT;call writeln file,NEWDATE
- call writeln file,TOTALPLAYS;call writeln file,totmgcr;call writeln file,TOTALWINS
- call writeln file,TOTALLOSS;call writeln file,MEGSLOST;call writeln file,BWUSED
- call writeln file,TROJUSED;call writeln file,SCAUSED;call writeln file,MKUSED
- call writeln file,MK; call writeln file,DATEONLY; call writeln file,MAINCOUNTER
- call writeln file,WD
- return
-
- SAVEOSTATS:
- call writeln file, OALIAS;call writeln file, OMONEY;call writeln file, OMEGS
- call writeln file, OSCA;call writeln file, OBW;call writeln file, OTROJ
- call writeln file, odrtyp;call writeln file, ottyp;call writeln file, oxper
- call writeln file, olfght;call writeln file, ODATE;call writeln file, otpl
- call writeln file, otmcr;call writeln file, otwin;call writeln file, otloss
- call writeln file, omlst;call writeln file, OBWUSED;call writeln file, OTROJUSED
- call writeln file, OSCAUSED;call writeln file, OMKUSED;call writeln file, OMK
- call writeln file, OLASTDPLAYED; call writeln file, OMAINCOUNTER;
- call writeln file, OWD
- return
-
- READOSTATS:
- OALIAS = readln(file);OMONEY = readln(file);OMEGS = readln(file)
- OSCA = readln(file);OBW = readln(file);OTROJ = readln(file)
- odrtyp = readln(file);ottyp = readln(file);oxper = readln(file)
- olfght = readln(file);ODATE = readln(file);otpl = readln(file)
- otmcr = readln(file);otwin = readln(file);otloss = readln(file)
- omlst = readln(file);OBWUSED = readln(file);OTROJUSED = readln(file)
- OSCAUSED = readln(file);OMKUSED = readln(file);OMK = readln(file)
- OLASTDPLAYED = readln(file); OMAINCOUNTER = readln(file)
- OWD = readln(file)
- return
-
- MAILMESSAGE:
- if ~exists(mess''toget) then do;call open file, (mess''toget), 'W'
- call writeln file, '0';call close file;end
- call open file, (MESS''toget), 'R'
- newflag = readln(file)
- do i = 1 to newflag;do x = 1 to 4;dat.i.x=readln(file);end;end;call close file
- call open file, (mess''toget), 'W'
- newflag=newflag+1;call writeln file, newflag
- do i = 1 to newflag-1;do x = 1 to 4;call writeln file, dat.i.x;end;end
- call writeln file, alias
- do i = 1 to 3;call writeln file, line.i;end;call close file
- return
-
- TOPTENSAVE:
- if ~exists(play'last10') then do;call open file, (play'last10'),'W'
- do i = 1 to 10;call writeln file, ' ---- ';end;call close file;end
- call open file, (play'last10'), 'R';do i = 1 to 10;temp.i=readln(file);end
- call close file;call open file, (play'last10'), 'W';call writeln file, txt
- do i = 1 to 9;call writeln file, temp.i;end;call close file;return
-
- LISTUSERS:
- call open file, (play'Aliases'), 'R';flag=0;do i=1 to totalusers
- tempa.i=readln(file);tempb.i=readln(file);flag=flag+1
- if flag=2 then do;transmit '\c1'left(i,2)'. \cb'tempa.i;flag=0;end
- else sendstring '\c1'left(i,2)'. \cb'left(tempa.i,35);end
- if flag=1 then transmit;call close file
- sendstring '\n1'txt' whom? \c1(\c3Q\c1=\c3Quit\c1) : \cf'
- if totalusers >= 10 then do;getchar;ja=result;sendstring ja
- getchar;jaja=result;sendstring '\h1'
- if c2d(jaja)=13 then ans=ja;else ans=ja||jaja;end;else do;getchar;ans=result;end
- if ans='Q' then do;transmit '\caAborted.';toget='###';return;end
- if tempa.ans=alias then do;transmit '\caThats you!';toget='###';return;end
- if ans > totalusers | ans <= 0 then do;transmit '\caInvalid user.';toget='###';return;end
- transmit tempa.ans;toget=tempb.ans;return
-
-
- QUICKEXIT:
-
- SHUTDOWN
- exit
-
- ERROR:
- transmit '\n1\caAn error has occured in the game\c1.. \c2Exiting\c1..'
- SHUTDOWN
- exit
-
- SYNTAX:
- transmit '\n1\caAn error has occured in the game\c1.. \c2Exiting\c1..'
- SHUTDOWN
- exit
-
- IOERR:
- transmit '\n1\caAn error has occured in the game\c1.. \c2Exiting\c1..'
- SHUTDOWN
- exit
-
- HALT:
- transmit '\n1\caARexx HALT issued by the sysop \c1- \c2Shutting down\c1..'
- call bexit2
-
- TURNS:
- MAINCOUNTER=MAINCOUNTER+1
- If MAINCOUNTER > MAXTURNS then do
- Transmit "\n1\c2You're out of turns for today!\n1Try again tommorow!\q1\n1"
- msg RETURN;pm
- call BEXIT
- end
- return
- GETDATE:
- DateOnly=right(DATE,18)
- DateOnly=left(DateOnly,11)
- return
- CHECKLPLAY:
- If Access = 23 Then do; MainCounter = 0; return; end
- If DATEONLY ~= LASTDPLAYED then do;Maincounter=0;return;end
- If Maincounter > Maxturns then do;Transmit '\f1\c2Sorry, you have used up all your turns for today.\n1Try again tommorrow.\n2\q1'
- call QUICKEXIT;end
- return
- AddNumbers:
- if access ~= 23 then call dial
- transmit cls
- sendfile misc||'AddNumber.Menu'
- Sendstring '\c3Enter Number: \c4';getchar
- ans=upper(result);transmit ans
- call nc
- if ans = 'Q' then call dial
- else if ans = '1' then numfile = 'local'
- else if ans = '2' then numfile = 'mainframe'
- else if ans = '3' then numfile = 'gov'
- else if ans = '4' then numfile = 'war'
- else call addnumbers
- if ~exists(phones''numfile) then do
- open nfile,(phones''numfile), 'W'
- writeln nfile,'1'
- mnx=1
- end
- else do
- call open nfile, (phones''numfile), 'R'
- telnum=readln(nfile)
- do i=1 to telnum
- locnm.i=readln(nfile)
- localnum.i=readln(nfile)
- locmg.i=readln(nfile)
- locwin.i=readln(nfile)
- locloss.i=readln(nfile)
- end
- call close nfile
- call open nfile, (phones''numfile), 'W'
- telnum=telnum+1
- call writeln nfile, telnum
- end
- Transmit CLS
- msg '\c3Enter the name\n1: \c4';pm
- locnm.telnum=result
- call nc
- msg '\c3Enter the number\n1: \c4';pm
- localnum.telnum=result
- call nc
- msg '\c3Enter the storage in Megs\n1: \c4';pm
- locmg.telnum=result
- call nc
- locwin.telnum=0
- locloss.telnum=0
- do i=1 to telnum
- call writeln nfile,locnm.i
- call writeln nfile,localnum.i
- call writeln nfile,locmg.i
- call writeln nfile,locwin.i
- call writeln nfile,locloss.i
- end
- call close nfile
- call dial
- WARDIAL:
- Transmit CLS
- If WD=1 then do
- transmit 'WarDialer is already running!'
- return
- end
- sendfile misc'wardial.txt'
- sendstring '\n1\c7Run wardialer? '
- getchar
- ans=upper(result)
- if ans ~= 'Y' then return
- transmit 'Yes'
- if money<10000 then do
- transmit 'You can''t afford it.'
- return
- end
- wd=1
- if access ~= 23 then money=money-10000
- transmit '\n2\c4Wardialer should have results ready by tommorrow.'
- transmit '\c3Thank you for using \c7Global WarDialer v1.0\w2\q1'
- call turns
- return
- CHECKWARDIAL:
- If (WD ~= 1) | ((Access ~= 23) & (Dateonly = LastDPlayed)) then return
- Transmit '\f1\c5Checking WarDialer Results...\q1'
- call open file, (phones''war), 'R'
- wnum=readln(file)
- do i=1 to wnum
- locnm.i=readln(file)
- localnum.i=readln(file)
- locmg.i=readln(file)
- locwin.i=readln(file)
- locloss.i=readln(file)
- end
- call close file
- call open file, (phones''HAA), 'R'
- blah=readln(file)
- locnm.0=readln(file)
- localnum.0=readln(file)
- locmg.0=readln(file)
- call close file
- do
- wfnd=random(0,wnum%8, time('s'))
- If wfnd = 0 then do
- transmit '\n1\c2You found no numbers this time!\q1\w2'
- wd=0
- return
- end
- do i=1 to wfnd
- fndw=random(0,(wnum+2),time('s'))
- if fndw=wnum+1 || fndw=wnum+2 then fndw=0
- do j=1 to i-1
- if fndw=wn.j then i=i-1
- end
- wn.i=fndw
- end
- transmit '\n1\c3You found these numbers... \c4Write them down!'
- do i=1 to wfnd
- k=wn.i
- transmit '\c7Name:\c3['||locnm.k'] \c7Phone Number:\c3['||localnum.k'] \c7Storage:\c3['||locmg.k' Megs]'
- end
- Transmit '\n1\c4Hit Any Key to Continue \g1\q1'
- WD=0
- return
- GENERATEHAA:
- call open file, (phones'HAA'), 'W'
- call writeln file,'1'
- call writeln file,'Hackers Assoc. of America'
- do i=1 to 7;n.i=random(0,9,time('s'));end
- call writeln file,'619'||n.1||n.2||n.3||n.4||n.5||n.6||n.7
- call writeln file,'999';call writeln file,'0';call writeln file,'0'
- call close file
- do i=1 to 7;drop n.i;end
- return
- WINGAME:
- if exists(misc'sys.win') then sendfile misc||'sys.win'
- if ~exists(misc'winners') then do
- call open file, (misc'winners'), 'W'
- call writeln file,'\a1\c2=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-='
- call writeln file,'- \c3The Legendary Hacker Hall of Fame \c2-'
- call writeln file,'=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\q1'
- call writeln file,''
- end
- Else call open file,(misc'winners'), 'A'
- call Writeln File, '\c7Name:\c3'||Alias' \c7EXP:\c3'||xrp' \c7Date:\c3'||dateonly
- call close file
- transmit ''
- call generatehaa
- address command 'delete' play'#?'
- address command 'delete' mess'#?'
- address command 'delete' bnk'#?'
- call quickexit
- return
- SCAN:
- j=0;sendfile misc'sys.scanner'
- sendstring '\c7Do you wish to do a fight scan? '
- getchar;ans=upper(result)
- if ans ~= 'Y' then return
- transmit 'Yes\n1'
- if (money < 15000) & (access ~= 23) then do;transmit '\n1\c2You can not afford it!\n1';return;end
- if access ~= 23 then money=money-15000
- call open file, (play'Aliases'), 'R'
- do i=1 to totalusers
- tempa=readln(file);tempb=readln(file)
- call open nfile, (play''tempb), 'R'
- oalias=readln(nfile);omoney=readln(nfile);omegs=readln(nfile)
- if (omegs > 0) & (oalias ~= alias) then do;j=j+1;transmit '\c5'||j')\c2' oalias;end
- call close nfile
- end
- call close file
- if j=0 then transmit '\c2Everyone is trashed!\q1\n1'
- else transmit '\c7End of scan.\q1\n1'
- return
-
-